Memory management controller
Multi-memory controllers or memory management controllers (MMC) are different kinds of special chips designed by various video game developers for use in Nintendo Entertainment System (NES) cartridges. These chips extend the capabilities of the original console and make it possible to create NES games with features the original console cannot offer alone. The basic NES hardware supports only 40k of ROM total, up to 32k PRG and 8k CHR, thus only a single tile and sprite table are possible. This limit was rapidly reached within the Famicom's first two years on the market and game developers began requesting a way to expand the console's capabilities. These chips are also known as mappers. List of MMC chips CNROM *Manufacturer: Nintendo *Games: Gradius, Ghostbusters, Gyruss, Arkanoid CNROM was the earliest banking hardware introduced on the Famicom, appearing in early 1986. It consists of a single 7400 series discrete logic chip. CNROM supports a single fixed PRG bank and up to eight CHR banks for 96k total ROM. Some third party variations supported additional capabilities. Many CNROM games store the game level data in the CHR ROM and blank the screen while reading it. UNROM *Manufacturer: Nintendo *Games: Pro Wrestling, Ikari Warriors, Mega Man, Contra, Castlevania Early NES mappers are composed of 7400 series discrete logic chips. UNROM appeared in late 1986. It supports a single fixed 16k PRG bank, the rest of the PRG being switchable.UxROM from NESdevWiki Retrieved on 2009-11-21. Instead of a dedicated ROM chip to hold graphics data (called CHR by Nintendo), games using UNROM store graphics data on the program ROM and copy it to a RAM on the cartridge at run time. MMC1 cartridge showing an MMC1B1 chip.]] *Manufacturer: Nintendo *Games: The Legend of Zelda, Mega Man 2, Metroid, Godzilla: Monster of Monsters, Teenage Mutant Ninja Turtles, and more. The MMC1 is Nintendo's first custom MMC integrated circuit to incorporate support for saved games and multi-directional scrolling configurations. The chip comes in at least five different versions: MMC1A, MMC1B1, MMC1B2, MMC1B3 and MMC1C. The differences between the different versions are slight, mostly owing to savegame memory protection behavior. The MMC1 chip allows for switching of different memory banks. Program ROM can be selected in 16KB or 32KB chunks, and character ROM can be selected in 4KB or 8KB chunks. An unusual feature of this memory controller is that its input is serial, rather than parallel, so 5 sequential writes (with bit shifting) are needed to send a command to the circuit.MMC1 from NESdevWiki Retrieved on 2009-11-21. MMC2 *Manufacturer: Nintendo *Games: Mike Tyson's Punch-Out!! The MMC2 is only used in Mike Tyson's Punch-Out!! and the later rerelease which replaced Mike Tyson. A single 8KB bank of program ROM can be selected (with the remaining 24KB locked) and character ROM can be selected in two pairs of 4KB banks, which would be automatically switched when the video hardware attempts to load particular graphic tiles from memory, thus allowing a larger amount of graphics to be used on the screen without the need for the game itself to manually switch them.Nintendo MMC2 from NESdevWiki MMC3 containing Super Mario Bros. 3 and others.]] *Manufacturer: Nintendo *Games: Mega Man 3, 4, 5, 6, Super Mario Bros. 2''NA/EU, ''Super Mario Bros. 3, Kirby's Adventure, and more. The MMC3 was introduced in 1988. It adds an IRQ timer to allow split screen scrolling without the sacrifice of sprite 0, along with two selectable 8KB program ROM banks and two 2KB+four 1KB selectable character ROM banks, which allows easy instant swapping of sprite and tile data. 8k of save game RAM is supported.Nintendo MMC3 from NESdevWiki MMC4 *Manufacturer: Nintendo *Games: Fire Emblem, Fire Emblem Gaiden, and Famicom Wars This chip is only used in three games, all of which were released only for the Famicom in Japan, and were developed by Intelligent Systems. Functionally, it is nearly identical to the MMC2, with the only difference being that the MMC4 switches program ROM in 16KB banks instead of 8KB banks and has support for a battery-backed SRAM to save game data.Nintendo MMC4 from NESdevWiki MMC5 *Manufacturer: Nintendo *Games: Castlevania III: Dracula's Curse''NA/EU, ''Just Breed, Metal Slader Glory, Laser Invasion, Uchuu Keibitai SDF, Nobunaga's Ambition II, Nobunaga no Yabou - Sengoku Gunyuu Den, Bandit Kings of Ancient China, Romance of the Three Kingdoms II, Uncharted Waters, Genghis Khan II: Clan of the Gray Wolf, Gemfire, L'Empereur, Ishin no Arashi, Shin 4 Nin Uchi Mahjong - Yakuman Tengoku The MMC5 is Nintendo's most advanced MMC. It was originally also the most expensive. Only Koei used this chip regularly. It is similar to Konami's VRC6, but interrupt handling works differently. The chip has 1KB of extra RAM, two extra square wave sound channels, one extra PCM sound channel, support for vertical split screen scrolling, improved graphics capabilities (making 16,384 different tiles available per screen rather than only 256, and allowing each individual 8x8-pixel background tile to have its own color assignment instead of being restricted to one color set per 2x2 tile group), highly configurable program ROM and character ROM bank switching, and a scanline-based IRQ counter. The MMC5 supports up to 2MB total ROM, however no commercially released game exceeded 1MB.Nintendo MMC5 from NESdevWiki MMC6 *Manufacturer: Nintendo *Games: StarTropics, Zoda's Revenge: StarTropics II The MMC6 is similar to the MMC3, with an additional 1 KB of RAM which can be saved with battery backup.Nintendo MMC6 from NESdevWiki Famicom Disk System *Manufacturer: Nintendo *Games: Akumajo Dracula, Arumana no Kiseki, Ai Senshi Nicol, Big Challenge! Dogfight Spirit, Bio Miracle Bokutte Upa, Crackout''JP, ''Double Dribble''JP, Dracula II, ''Falsion, Famicom Tantei Club Part II: Ushiro ni Tatsu Shōjo, Kid Icarus''JP, ''KiKi KaiKai, Meikyuu Jiin Dababa, Metroid''JP, ''Pro Wrestling''JP, ''Relics - Ankoku Yousai, Risa no Yōsei Densetsu, Shin Onigashima, Super Mario Bros. 2''JP, ''The Legend of Zelda (FDS release), The Mysterious Murasame Castle, Vs. Excitebike, Yūyūki, Zelda II: The Adventure of Link''JP, and more. The Famicom Disk System's ASIC is an extended audio chip, which supports one channel of single-cycle (6-bit × 64 step) wavetable-lookup synthesis with a built in phase modulator (PM) for sound generation similar to frequency modulation synthesis. AOROM *Manufacturer: Nintendo *Games: ''Battletoads, Wizards & Warriors, Cobra Triangle, Jeopardy! The A*ROM MMC, named after the AMROM, ANROM, and AOROM cartridge boards that use it, was developed by Chris Stamper of Rare, and manufactured by Nintendo. It is found in games developed by Rare for Nintendo, Tradewest, GameTek, Acclaim, and Milton Bradley.List of NES games with publisher and board It allows the PRG ROM to be switched in a single 32k piece and uses CHR RAM for up to 256k total ROM. Unlike other chips, it uses one screen mirroring.AOROM – NESdevWiki Third-party chips Nintendo maintained tight control over internationally-released cartridge hardware and did not allow third parties to use their own PCBs and mappers. This remained the case until late in the NES's commercial lifespan when restrictions were eased up. Thus most third party mappers will only be found in Famicom or unlicensed cartridges. VRC1 * Manufacturer: Konami, Jaleco (SS8805) * Games: Exciting Boxing, Ganbare Goemon! Karakuri Douchuu, Jajamaru Ninpouchou, King Kong 2: Ikari no Megaton Punch, Moero!!, Junior Basket: Two on Two, Tetsuwan Atom VRC2 *Manufacturer: Konami *Games: Contra''JP, ''Tiny Toon Adventures''JP, ''Akumajō Special: Boku Dracula-kun The VRC2 is a chip from Konami that allows program ROM to be switched in 8KB banks, and character ROM to be switched in 1KB banks. This MMC has two known revisions: VRC2a and VRC2b.Konami VRC2 from NESdevWiki VRC3 *Manufacturer: Konami *Games: Salamander''JP Exclusively used in the Japanese version of ''Salamander. VRC4 *Manufacturer: Konami *Games: Gradius II''JP, ''Crisis Force, Bio Miracle:Boku tte Upa, Ganbare Goemon Gaiden 2, WaiWai World, WaiWai World 2, Twinbee 3 VRC5 *Manufacturer: Konami *Games: Space School''JP Exclusively used in the QTa adapter in Konami's ''Space School series of educational games. VRC6 *Manufacturer: Konami *Games: Akumajō Densetsu, Mōryō Senki MADARA, Esper Dream II The VRC6 (Virtual Rom Controller) is an advanced MMC chip from Konami, supporting bank switching for both program code and graphics as well as a CPU cycle–based IRQ counter, which can also act as a scanline counter. The chip also contains support for three extra sound channels (two square waves of eight duty cycles each, and one sawtooth wave). It is used in Akumajō Densetsu (the Japanese version of Castlevania III: Dracula's Curse), while the Western version uses the MMC5 from Nintendo. Since the Nintendo Entertainment System does not allow cartridges to add additional sound channels, the Famicom version's soundtrack was reworked to follow those specifications; thus, the soundtrack on the Western version is implemented by the five sound channels built into the stock NES. VRC7 *Manufacturer: Konami, Yamaha *Games: Lagrange Point, Tiny Toon Adventures 2: Trouble in Wackyland The VRC7 is an advanced MMC chip from Konami, supporting bank switching and IRQ counting equivalent to the VRC6, and containing a YM2413 derivative providing 6 channels of FM Synthesis audio. This advanced audio is used only in the Famicom game Lagrange Point; while the Japanese version of Tiny Toon Adventures 2 also uses the VRC7, it does not make use of the extended audio.Konami VRC7 from NESdevWiki Namco 163 *Manufacturer: Namco *Games: Erika to Satoru no Yume Bōken, Final Lap, King of Kings, Mappy Kids, Digital Devil Story: Megami Tensei II, Namco Classic II, Romance of the Three Kingdoms, Romance of the Three Kingdoms II, Yokai Dochuki, Rolling Thunder''JP, ''Top Striker The 163 has been only used in games exclusive to Japan. Its capabilities were a little better than Nintendo's MMC3. A variant contained extra sound hardware that plays 4-bit wave samples. It supports 1 to 8 extra sound channels, but audible aliasing appears when a sufficiently large number of channels are enabled. FME-7 *Manufacturer: Sunsoft *Games: Batman: Return of the Joker, Hebereke, Gimmick!, and more. The FME-7 is a memory mapping circuit developed by Sunsoft for use in NES and Famicom cartridges. It switches program ROM in 8KB banks and switches the character ROM 1KB banks. It also contains hardware to generate IRQ signals after a specified number of CPU clock cycles, thus achieving split-screen effects with minimal use of processing power. A special version of this MMC, labeled as "SUNSOFT 5B" rather than "FME-7", contains a version of the widely used Yamaha YM2149. This sound generation hardware is used on only one Famicom game: Gimmick!. SUNSOFT-4 *Manufacturer: Sunsoft Unlicensed MMCs Some individual (homebrew) and unlicensed developers have made custom MMCs for the NES, most of which simply expand the available memory. 228 *Manufacturer: Active Enterprises *Games: Action 52, Cheetahmen II 228 is a simple bank switching MMC developed for use in the games Action 52 and Cheetahmen II. It does not have a nametable control bit. In the Action 52 multicart, it also contains a small 16-bit register area that contains the old menu selection when exiting a game. See also * List of Super NES enhancement chips References External links * * Category:Integrated circuits Category:Memory management